package org.boot.easyapi.pojo.auto;

import lombok.Data;
import java.io.Serializable;


@Data
public class AuthenticationUserInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 访问令牌 **/
    private String accessToken;

    /** 刷新令牌 **/
    private String refreshToken;

    /** 租户id **/
    private String tenantId;

    /** 认证用户信息 **/
    private Object userId;
    private Object username;
    private Object nickname;
    private Object post;
    private Object email;
    private Object mobile;
    private Object role;
    private Object dept;
    private Object Permission;
    private Object menuPermission;
    private Object rolePermission;
    private Object deptPermission;
    private Object postPermission;

    public AuthenticationUserInfo() {}

    public AuthenticationUserInfo(Object userId, Object username, String tenantId) {
        this.userId = userId;
        this.username = username;
        this.tenantId = tenantId;
    }

    public AuthenticationUserInfo(Object userId, Object username, String tenantId, Object Permission,
                                  Object menuPermission, Object rolePermission,
                                  Object deptPermission, Object postPermission) {
        this.userId = userId;
        this.username = username;
        this.tenantId = tenantId;
        this.Permission = Permission;
        this.menuPermission = menuPermission;
        this.rolePermission = rolePermission;
        this.deptPermission = deptPermission;
        this.postPermission = postPermission;
    }

    public AuthenticationUserInfo(Object userId, Object username, String accessToken, String refreshToken, String tenantId,
                                  Object Permission, Object menuPermission, Object rolePermission,
                                  Object deptPermission, Object postPermission) {
        this.userId = userId;
        this.username = username;
        this.accessToken = accessToken;
        this.refreshToken = refreshToken;
        this.tenantId = tenantId;
        this.Permission = Permission;
        this.menuPermission = menuPermission;
        this.rolePermission = rolePermission;
        this.deptPermission = deptPermission;
        this.postPermission = postPermission;
    }

    public AuthenticationUserInfo(Object userId, Object username, Object nickname, Object post, Object email, Object mobile,
                                  Object role, Object dept, String accessToken, String refreshToken, String tenantId,
                                  Object Permission, Object menuPermission, Object rolePermission,
                                  Object deptPermission, Object postPermission) {
        this.userId = userId;
        this.username = username;
        this.nickname = nickname;
        this.post = post;
        this.email = email;
        this.mobile = mobile;
        this.role = role;
        this.dept = dept;
        this.accessToken = accessToken;
        this.refreshToken = refreshToken;
        this.tenantId = tenantId;
        this.Permission = Permission;
        this.menuPermission = menuPermission;
        this.rolePermission = rolePermission;
        this.deptPermission = deptPermission;
        this.postPermission = postPermission;
    }


}
